﻿using System;
using System.Collections.Generic;
using System.Windows.Forms;
using WorkFlowBLL;

namespace QLCF.Forms
{
    public partial class popupDistributeDetail : Form
    {
        public int m_distributeID = -1;
        public Boolean m_isAddNew = false;
        public frmDistribute m_parrent;

        public popupDistributeDetail(frmDistribute Parrent)
        {
            InitializeComponent();
            this.m_parrent = Parrent;
            this.m_distributeID = Parrent.m_distributeID;
            this.m_isAddNew = Parrent.isAddNew;
            BindCbxStatus();
        }

        private void BindCbxStatus()
        {
            cbxStatus.Items.Clear();
            cbxStatus.DisplayMember = "text";
            cbxStatus.ValueMember = "value";
            List<EntityBLL.ListItem> lst1 = new List<EntityBLL.ListItem>();
            lst1.Add(new EntityBLL.ListItem(1, "Hoạt động"));
            lst1.Add(new EntityBLL.ListItem(0, "Khóa"));
            cbxStatus.DataSource = lst1;
            cbxStatus.SelectedValue = 1;
        }

        private void popupDistributeDetail_Load(object sender, EventArgs e)
        {
            if (!m_isAddNew)
            {
                CtrBase ctrBase = new CtrBase();
                var objUnit = ctrBase.DistributeGetInfo(this.m_distributeID);
                if (objUnit != null)
                {
                    txtNameNCC.Text = objUnit.DistributeName;
                    txtPhoneNCC.Text = objUnit.DistributePhone;
                    txtAddressNCC.Text = objUnit.DistributeAddress;
                }
            }
        }

        private void btnEdit_Click(object sender, EventArgs e)
        {
            if (this.txtNameNCC.Text == "")
            {
                MessageBox.Show("Bạn chưa nhập tên nhà cung cấp", "Thông báo...", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                this.txtNameNCC.Focus();
                return;
            }
            if (this.txtPhoneNCC.Text == "")
            {
                MessageBox.Show("Bạn chưa nhập số điện thoại", "Thông báo...", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                this.txtPhoneNCC.Focus();
                return;
            }
            if (this.txtAddressNCC.Text == "")
            {
                MessageBox.Show("Bạn chưa nhập địa chỉ", "Thông báo...", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                this.txtAddressNCC.Focus();
                return;
            }
            CtrBase ctrBase = new CtrBase();
            if (this.m_isAddNew)
            {
                var objBase = ctrBase.DistributeInsert(txtNameNCC.Text.Trim().Replace(",", "''"), txtPhoneNCC.Text.Trim().Replace(",", "''"), txtAddressNCC.Text.Trim().Replace(",", "''"), Convert.ToInt32(cbxStatus.SelectedValue));
                if (objBase > 0)
                {
                    CtrAdmin ctra = new CtrAdmin();
                    ctra.LogInsert(Program.UserEntity.UserID, Program.UserEntity.UserName, 1, "Thêm mới nhà cung cấp \"" + txtNameNCC.Text + "\" có mã \"" + objBase + "\"", "Quản lý nhà cung cấp");
                    m_parrent.GetData();
                    this.Close();
                }
            }
            else
            {
                var objBase = ctrBase.DistributeUpdate(this.m_distributeID, txtNameNCC.Text.Trim().Replace(",", "''"), txtPhoneNCC.Text.Trim().Replace(",", "''"), txtAddressNCC.Text.Trim().Replace(",", "''"), Convert.ToInt32(cbxStatus.SelectedValue));
                if (objBase > 0)
                {
                    CtrAdmin ctra = new CtrAdmin();
                    ctra.LogInsert(Program.UserEntity.UserID, Program.UserEntity.UserName, 2, "Cập nhật nhà cung cấp \"" + txtNameNCC.Text.Trim().Replace(",", "''") + "\" có mã \"" + this.m_distributeID + "\"", "Quản lý nhà cung cấp");
                    m_parrent.GetData();
                    this.Close();
                }
            }
        }

        private void btnClose_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void txtPhoneNCC_KeyPress(object sender, KeyPressEventArgs e)
        {
            int isNumber = 0;
            e.Handled = !int.TryParse(e.KeyChar.ToString(), out isNumber);
        }
    }
}
